Mechanism for distributing content data

ABSTRACT

The current invention provides a system for distributing content data to user locations. The content data preferably includes digital video data that is available on demand from a requesting location. A system server stores user accounts and generated customized program schedules for the user account based on user criteria which includes user preferences. Authorized users access their accounts to modify user criteria and to select program transmissions. Preferably, a computer and a television set receive program transmissions from a system network, wherein the computer provides a logical interface between the television set and content data transmitted over the system network.

RELATED APPLICATION(S)

This patent application is a division of U.S. patent application Ser.No. 09/909,676, filed Jul. 19, 2001, which in turn claims priority under35 U.S.C. 119(e) of U.S. Provisional Patent Application Ser. No.60/129,857, filed Jul. 20, 2000 and U.S. Provisional Patent ApplicationSer. No. 60/233,581 filed Sep. 19, 2000. All three prior applicationsare hereby incorporated by reference.

FIELD OF THE INVENTION

The present invention relates to architectures and systems for andmethods of distributing content to user locations. More specifically,this invention related distributing program transmissions to userlocations from a program schedule account.

BACKGROUND OF THE INVENTION

There are numerous media services which provide scheduled programs on aviewing device, such as a television set. There are standard broadcastservices which provide channels that can be received by virtually anytelevision tuner through an antenna connector. There are cable serviceswhich typically offer packages of preselected channels to the consumersand that required a decoder at the television tuner or on the cable lineat an external location. Cable services continuously broadcast scheduledprogramming through a preselected set of channels which are receivedthrough a cable connector on a television set. There are also a numberof pay-per-view services which allow costumers to receive non-scheduledone time program transmissions through the cable network. Otheravailable services include satellite programming which allow consumersto select on demand pay-per view-programs from a set of availableprograms.

Each of these programming services require that consumers monitorprogram availabilities to determine if a desired program is offered.None of the current program services provide for programming that istailored to individual consumers needs. Further, none of the currentservices provide the flexibility for consumers to quickly change thescope services and/or program availabilities.

SUMMARY OF THE INVENTION

The current invention provides for the distribution of content data. Thecurrent invention preferably allows consumers to readily change thescope of services provided and monitor programs which may be of interestbased on individual consumer needs.

Accordingly, the invention is directed to an architecture and system forand a method of distributing content data to user locations. Preferably,the content data comprises program data from one or more contentproviders. The programs can be scheduled programs and/or stored videoprograms. The content data is preferably distributed to user locationsas data transmissions which can be played or viewed at user locations.The program transmissions are preferably transmitted to the userlocations by a system network or, alternately, can be selectivelybroadcast by wireless means to user locations.

The data transmissions preferably comprise digital video data, whereinprograms are transmitted to the user locations through a high speednetwork and played on receiving/display devices with sound and displaycapabilities. Preferably, a receiving/display device is a digital deviceconfigured for receiving digital video data and for viewing a videoprogram downloaded from the network to a memory device. The digitaldevice can be any such conventional device and can include, but is notlimited to, a personal computer, PDA, a web enabled television set or aweb appliance. In a preferred embodiment of the instant invention, thereceiving device comprises a personal computer and a television set. Apersonal computer preferably has a video card which provides a logicalinterface between the television set and digital video data transmitteddistributed as video programs over the system network.

The preferred system of the instant invention comprises a network forcustomized cataloging of content data availabilities into programschedules. A system network comprises the internet, a private pay-to-usenetwork, a local network, a cable network, a commercial broadcastnetwork or any combination thereof. A system server is coupled to thesystem network and stores a program schedule and user codes for eachuser account on the system server. The system server preferably catalogscontent data availabilities into program schedules based on the usercodes. Preferably, the user codes comprise a set or list of userpreferences for each account, wherein user preferences can be submittedto the system server when an account is established on the systemserver.

A set of user preferences preferably can be modified by an authorizeduser. User preferences can include, but are not limited to, identifiedcontent providers, user likes and dislikes, and preferred times toreceive program transmissions. In further embodiments of the instantinvention, user preferences are automatically updated based on programtransmissions selected through a corresponding account.

Program transmissions are initiated automatically to the user locationsaccording to corresponding program schedules in an account or,alternatively, a user can select a program transmission from an accountprogram schedule.

The system server is preferably in communication with content providersover the system network. The system server surveys content dataavailabilities and catalogues the content data availabilities intoprogram schedules in accordance with user codes. According to anembodiment of the instant invention, the content data providersautomatically send updated program availabilities data to the systemserver. Alternatively, the system server accesses various content dataproviders over the system network and extracts data regarding programavailabilities.

According to a preferred embodiment of the instant invention, anauthorized user may access their account on the system server by alog-in process, whereby the user provides a unique user identificationto identify themselves as an authorized the user to the system. Onceinto the account, the user can preferably modify user preferences andpreferably view other account information.

Preferably, the server supports a graphical user interface which allowsusers to point-and-click on program selections from a program schedulewithin their account. The selection of a program from the schedule theninitiates an on-demand program transmission. According to furtherembodiments, users may identify a location or locations where programtransmissions are to be received. This feature would, for example, allowa user to select a program form work for deliver later at home. Alocation can be identified by providing a logical address correspondingto a network port or a receiving device.

In the event that the user is not interested in program selectionsavailable from their personal program schedule, the system preferablyallows the user to browse and select other available programs over thenetwork. Alternatively, or in addition to the above, the user can changetheir user preferences within the account and search the server database for other available programs based on these new or modified userpreferences.

Program transmissions can be distributed through the system server ordistributed from the content provider. The program transmissions caneither be immediately played at the user selected locations or,alternatively, are stored on a local storage device for later use.

BRIEF DESCRIPTION OF THE DRAWINGS

FIGS. 1 a-c show several network configurations for distributing contentdata, in accordance with the current invention.

FIG. 2 shows an architecture for distributing content through a networkcoupled to a plurality of content providers, in accordance with theinstant invention.

FIG. 3 illustrates a personal computer interfacing a television forreceiving and viewing content data over a network, in accordance with apreferred embodiment of the current invention.

FIG. 4 illustrates an architecture for distributing content data througha private network, in accordance with an alterative embodiment of thecurrent invention.

FIG. 5 illustrates an architecture for controlling transmissions ofcontent data from a first location to a second location, in accordancewith the current invention.

FIG. 6 is a flow-chart outlining the steps for distributing contentdata, in accordance with a method of the instant invention.

FIG. 7 is a flow-chart outlining the step for selecting a program inaccordance with a preferred method of the instant invention.

FIGS. 8 a-b are schematic diagrams of features on the local side and theserver side of a system for distributing content data, in accordancewith the current invention.

FIG. 9 illustrates a block diagram of computer with a video card forinterface in a viewing device, in accordance with the preferred systemof the current invention.

DETAILED DESCRIPTION OF A PREFERRED EMBODIMENT

The architecture of the instant invention utilizes a server unit coupledto at least one content provider. The server unit provides a central hubfor content data distribution. The server unit monitors content dataavailabilities from the at least one content provider and organizes thecontent data availabilities into customized program schedules inaccordance with user codes.

The user codes preferably provide for a selection of services desiredfrom the at least one content provider. The user codes can also providefor the selection of content data based on information about theintended user, wherein the content data corresponds to scheduled or ondemand programs, which may viewed or played at user locations.

A user preferably can view or access their account and select programsto be transmitted to a predetermined location and/or modify accountpreferences including, changing content providers and/or servicesprovided therefrom. FIGS. 1 a-c will now be used to show severaldifferent ways in which a system server may be coupled to contentproviders for distributing content data to user location, in accordancewith the instant invention.

FIG. 1 a shows an architecture 100 for distributing content data, inaccordance with an embodiment of the invention. The architecture 100preferably has central network 103. The central network 103 can beeither a private or public access network, such as the internet. Asystem server 105 is coupled to at least one content provider 111 thoughthe network 103. In the architecture 100 shown in FIG. 1, a user canaccess their account at the server 105 via the network 103 from a device101, which is also configured to receive program transmissions.Alternatively, the user can access their account at the server 105 froma separate device (not shown). Preferably the user can changepreferences 107 and 109 and or select a programs by from their personalaccount. Preferably, the system server 105 instructs the contentprovider 111 via the network 103 to route a program transmission to thedevice 101.

In accordance with one embodiment of the current invention, the systemserver 105 authorizes and initiates program transmissions to the device101 by providing the content provider 111 with a logical address of thedevice 101 or location of the device 101 on the network. Alternatively,the server causes the device 101 to authorize and initiate programtransmissions from the provider 111 to the device 101.

According to an alternative embodiment of the instant invention, programtransmissions are automatically initiated from the content provider 111to the device 101 based on preferences 107 and 109 and/or a programschedule without requiring the user to make a program selection.

FIG. 1 b show an alternative architecture 120 for distributing contentdata, in a accordance with the current invention. The architecture 120has a server 125 that stores preferences 127 and 129 which are used tocreates customized program schedules. The architecture 120 has a firstnetwork 133, which is preferably a public network, such as the internet,wherein a user can access their account through the public network 133.The system server 125 and a content provider 131 are coupled through aseparate network 135 which may be a local area network or otherrestricted access network. The network 135 is preferably configured toprovide the server 125 with content data availabilities from the contentdata provider 131. The network 134 provide a mechanism for thedistribution of program data from the content provider 131 to areceiving device 121. Preferably, the network 133 is a privatepay-for-user network.

FIG. 1 c show an architecture 140 for distributing content data, inaccordance with another alternative embodiment of the current invention.The architecture 140 preferably comprises a server unit 149 coupled to areceiving device 141 through a network 143. The server unit 149comprises a content source 147 and a system sever 145, wherein thecontent source 147 provides programs to the device 141 through thesystem server 145. The system server 145 allocates content dataavailabilities into program schedules in accordance with storedpreferences 146 and 148 and transmits programs automatically, by way ofuser selections from schedules or a combination thereof.

FIG. 2 shows an architecture 200 for distributing content data tomultiple devices 201 and 202 from multiple content providers 211, 213and 215. The content providers 211 and 213 transmit content data todevices 201 and 202 through a network 203. The network 203 is preferablya private pay-for-use network or, alternatively, is a public network,such as the internet. The devices 201 and 202 preferably have receiversfor receiving content data and displays for displaying processed orunprocessed content data received at a user location.

Still referring to FIG. 2, a broadcast content provider 215 broadcastscontent data 217, such as television program transmissions or any otherkind of broadcast content data. The provider 215 can selectively operateindependently of the system server 207 or, alternatively, can be coupledto the server 207, wherein the server 207 provides instructions to theprovider 215 to initiate selective broadcasts to one or more of thedevices 201 and 202. Accordingly, the server 207 is configured toprogram the receiver device 201 to receive broadcast data 215 from thecontent provider 213 according to a schedule. The server 207 preferablystores customized program schedules generated in accordance with userpreferences 210 and 209.

FIG. 3 shows an architecture 300 for distributing content data, inaccordance with a preferred embodiment of the current invention, whereinthe receiver device 304 comprises a personal computer 302 and atelevision set 305. The personal computer 302 can be coupled to anetwork 303 and configured to access the server 307 where a programschedules are stored in personal accounts. A content provider 311 ispreferably is coupled to the network 303 and configured to transmitprogram data via the network 303 to the device 304 in accordance withthe program schedules. As described previously, program schedules arepreferably generated in accordance with user preferences 309 and 310which are also stored on the server 307.

FIG. 4 shows an architecture 400 for distributing content data, inaccordance with an alterative embodiment of the current invention. Thearchitecture 400 can include multiple servers 407 and 411. Thearchitecture 400 preferably includes a network 403 that is preferably aprivate network for users subscribing to the account at one or more ofthe servers 407 and 411. Each server 407 and 411 is preferably coupledto content data provider 415 and 417. The servers 407 and 411 monitoravailabilities of content data from the content data providers 415 and417 and compile customized schedule catalogs for each set of userpreferences 410 and 412. The devices 401 and 402 preferably havereceivers for receiving programs and displays for displaying processprogram data. A user can access their user account and view theirprogram schedule therein via the internet 420 from one or more of thereceiving devices 401 and 402 or, alternatively, from a separate device(not shown). The user can then select which programs are to betransmitted to the receiving devices 410 and 402 and/or modify accountinformation. Preferably, each user account has it own user list ofassociated preferences and the server store multiple accountscorresponding to multiple user locations.

In an alternative embodiment of the instant invention, program schedulesare assigned to or belong to the devices 401 and 402, wherein programsare automatically transmitted to devices and 402 according to theprograms schedule assigned to the devices. Accordingly, a user sets up alist of preferences for each device 401 and 402 and programtransmissions which are receivable at each of the device 401 and 402 asdetermined by program schedule generated for each device 401 or 402.Preferably, the servers 407 and 411 are responsible for controlling theauthorization of the device 401 and 402 to receive a programtransmission from the providers 412 and 415.

FIG. 5 shows an alternative architecture 500 for distributing contentdata, in accordance with the instant invention. In the architecture 500,a server 510 receives broadcast content data 517 and 518 from broadcastcontent providers 515 and 516. In this way, the sever 510 is an“intermediate content provider” for provisioning content datatransmissions 517 and 518 indirectly to a receiving device 501. Thedistribution of broadcast content data is preferably determined by aprogram schedule stored on the server 510 which is based on acorresponding list of user or device preferences, as described in detailabove.

Still referring to FIG. 5, content providers 511 and 513 are coupled tothe network 503 for transmitting programs, to the receiving device 501.The programs are preferably digital video programs. The receiving device501 preferably comprises a computer 504 and a television 502. Users canaccess their schedules over the network 503 and modify the preferences508 and 509 including their choice of which providers 511 and 513 andselect programs to be received from each of the providers 511 and 513.

The architecture 500 can provide for the ability to select a secondreceiving location 509 to receive a program transmission. The secondreceiving location 509 is preferably coupled to the network 503 and/oris configured to receive broadcast content data from at least one of theproviders 511, 513, 515 and 516. When program transmissions are digitalvideo program transmissions, the second location is preferablyidentified by providing the server 510 with a logical addresscorresponding to the second receiving location 509.

FIG. 6 is a schematic block diagram 600 outlining steps for distributingcontent data, in accordance with a method of the instant invention. Whenthe user first sets up an account at a the system server in the step601, there is preferably a request for user information. The request foruser information can be made by telephone, e-mail, ground mail, surveysor any other suitable means including unsolicited means. Preferably,users can visit a web site and set up their own account. Userinformation can include, but is not limited to provider selections andservice selections. Additionally, user information preferably includes alist of preferences. User preferences can include information such asthe type of programs in which the user is interested, the user likes anddislikes and/or preferred times to receive program transmissions. Theuser preferences may also specify a user locations to receive programtransmissions. After the account is established, the system preferablyprovides the user with an estimate of the cost and a list of thesubscribed services and a personal identification number.

In the step 603, a program scheduling criteria is developed. The programscheduling criteria can be any simple or complex algorithm, butpreferably includes weighting factors for user preferences acquired inthe step 601. For example, in the step 601 a user inputs that theirprofessional interests include healthcare. Thus, programs which dealwith healthcare issues may be given high priority in the customizedprogram schedule developed in the step 609. If in the step 601 the userinputs that they do not like sports, then sports programs may beeliminated from the customized program schedule or, alternatively, aregive low priority in the customized program schedule developed for thatuser in the step 609.

After the program scheduling criteria is generated in the step 603, thenin step the 605, the server reviews program availabilities for all ofthe designated content providers. The server can obtain programavailabilities automatically from the content provider or,alternatively, extract program availabilities over the network. In yet afurther embodiments, the program availabilities can be entered into theserver manually. Program availabilities are preferably updated at theserver as new programs become available or as program availabilitieschange. After the program availabilities are compiled at the server inthe step 607, the server catalogs the programs into a customized programschedule according to the user criteria.

Customized program schedules are preferably viewable over the systemnetwork, wherein the user program schedule is displayed on a displaydevice with a graphical user interface. Further, the customized programschedule can have any of a number or formats. The schedule can displayprogram availabilities corresponding to a day a week, a month or othersuitable time frame. Program availabilities can be tabulated, ororganized into blocks or categories, such as sports or news. Inaccordance one embodiment of the instant invention, the user can selectand/or modify the schedule format. While it is preferable thatcustomized program schedules are viewable over the system network, theprogram schedules can be provided to users by any other suitable methodincluding mail and e-mail.

After the customized program schedule is provided to the user in thestep 609, then in the step 611 the user can select a program forinitiating transmission of a program to the user location.Alternatively, a program is transmitted to the user location withoutrequiring the user to make a selection.

FIG. 7 shows a flow-chart 700 outlining the step for selecting a programin accordance with the preferred method of the instant invention. In thestep 701, a user preferably can log into their personal account byproviding a secured user code, such as a user identification number.Then in step 703, the user can view their personal program schedule. Inthe step 705, the user can select programs from their schedule.Preferably, the program schedule is supported by a graphical userinterface which allows the user to point-and-click on a displayedprogram icon to select a program. After the program is selected in thestep 705, then in the step 707 transmission of the program content datato user location is initiated.

After viewing the personal program schedule in the step 703, the usercan preferably modify the account and/or user preferences. By refreshingthe account, the server re-compiles program availabilities based on thenew account information or modified preferences. It is also preferablethat the user can search a server data based for alterative programs,which are not displayed in the personal program schedule, using a simplesearch engine.

After the program is selected in the step 705, then in the step 707 thetransmission of the program to the user location is initiated by anynumber of conventional mechanisms including, but not limited to,initiating a broadcast of a program, decoding a local receiver toreceive an encrypted broadcast, transmitting data to a port on a systemnetwork or be routed from the server to a receiving device oralternatively can be distributed directed from the content provide whichreceives authorization for the server to transmit programs to the userlocation. In accordance with a preferred embodiment of the invention,the system for distributing content data is a pay-per-view system,wherein the user is automatically billed for each program transmission,as described in detail below.

FIGS. 8 a-b, shows the elements on the local side 800 and the serverside 810 of a system for distributing content data, in accordance withthe instant invention. The catalog interface 801 is coupled to anauthentication server 806 to verify the identity of the user. Thecatalog interface 801 is preferably accessible from both the local side800 and the server side 810 of the system. After the user is identified,then the catalog interface 801 will collect information about the user,preferably including payment information and a credit card number. Thecatalog interface 801 will then send the information the authenticationserver 806 which stores the user information in a user data base 811.The catalog interface 801 can also check the payment information with abilling server 807 before validating the user's account.

After the user has established a valid account, the catalog interface801 will query the directory server 808 for a list of available programsand preferably provided the list of available programs in a menu formatto the user through a viewing device 805. The user can select a programchoice from the menu through the catalog interface 801 whereby thecatalog interface 801 communicates the choice to directory server 808.The directory server 808 then communicates the cost of program to thebilling server 807.

If the billing server 807 is unable to bill for the program selection,the billing server 807 will communicate the failure back to thedirectory server 808, and the directory server 808 will communicate thefailure to the catalog interface 801. The catalog interface 801 willthen communicate the billing failure to the user and wait for anotherprogram selection.

In the event that the billing server 807 successfully bills the user forthe program section, then the billing server 807 communicates to thedirectory serve 808 that the selection has been accepted. The directoryserver 808 then communicates the selection to media transport system 809and tells the media transport system 809 to authorized streaming of thecontent data, which is preferably digital video content data.

After the streaming of video data is authorized by the media transportsystem 809, then the media transport system 809 allows the directoryserver 808 to access the video data. The directory server 808 thencommunicates to the catalog interface 801 that payment was received forthe video program and that the video data is now authorized to betransmitted.

To work through fire walls that might exist on the local side 800 of thesystem, the media manager 803 is preferably coupled to the mediatransport system 809, such that after the catalog interface 801 informsthe user that the program has been paid for and that the video data isready to be transmitted, the catalog interface 801 sends anauthorization confirmation to the media manager 803. The media manager803 then established a communication channel with the media transportsystem 809 and communicates a confirmation of the authorization to themedia transport system 809 which starts streaming the video data to themedia manger 803 from a remote storage device 810. The media manager 803receives the stream of video data and preferably stores the video dataon a local storage device 804. The remote storage device 810 can be asingle storage device or any number of storage devices that areaccessible over the system network (not shown).

In accordance with an embodiment of the invention the video data isencrypted or otherwise marked with identifying information that relatesa copy of the content data to the user account. Further, whilecomponents on the local side 800 can reside on the same processordevice, preferably the media manager 803 and the local storage device804 reside on a home server device and the catalog interface 801 and theplayback interface 802 reside on a desktop computer.

While the data stream is being downloaded and saved to the local storagedevice 804, the catalog interface 801 and/or the playback interface 802can be used to monitor the download progress. Further, at any time aftervideo download is started, the playback interface 802 can be used toplay the video data. However, if the download or streaming rates areslower than the payback rate, the entire video may not be available forviewing at any given time.

Preferably the playback interface 802 is used to select a viewing device804, wherein the playback interface 802 receives input instruction fromany suitable control device 812. For example, the viewing device 805 isa monitor on a desktop computer or a television set. The control device812 may comprise an internet browser, a software application program, aninfrared remote controller a cursor controller and/or a key board.

The playback interface 802 preferably queries the media manager 803 forwhat videos are stored on the local storage device 804 and displays thestored video program to the user through the catalog interface 801.

When a playback is requested by the user through the control device 812,then the playback interface 802 communicates the request to the mediamanager 803. The media manager 803 then communicates authorization tothe media transport system 809 and the media transport system 809authorizes the playback of the video data.

Alternatively, the playback request can be denied if an authorizationtime limit has expired or if the user is not authorized to view theselected playback video data. In the event that the playback isauthorized, the media transport system 809 can pass encryption keys tothe media manager 803 required to playback the video data when the videodata is encrypted.

After the media manager 803 streams the video and the user is finishedviewing the video program on the viewing device 805, the user can removethe video data from the local storage device 804. Preferably, the usercommunicates a request to remove the video data from the local storagedevice 804 through the control device 812. The control device 812 thencommunicates the request to the playback interface 802. The playbackinterface 802 tells the media manager 803 to remove the video from thelocal storage device 804. The media manager 803 then confirms with theplayback interface 802 that the video data has been removed from thelocal storage device 804 and communicates the result to the user throughthe viewing device 805.

FIG. 9 illustrates the preferred local system 900 at a user location forprocessing video data streams and display processed video data streamsat a viewing device 25, in accordance with the instant invention. Thesystem preferably utilizes a computer 910 with a video card 920. Thevideo card 920 preferably has graphical output connector 26 and computerdisplay logic 16 for supporting and display program graphics on acomputer monitor. The viewing device 25 is preferably a television setor computer monitor connected to the computer 910 through a video outputconnector 23. Using a viewing control device 12, such as a key board, acursor control device (e.g. computer mouse) or an infrared controldevice, as described above, the user sends a request to the a remoteserver that he/she wants to watch a video on the viewing device 25. Thestreaming media mixer logic 13 retrieves the stored data stream storedon the disk storage device 24 and sends the video data to the CPUinterface 15. The CPU interface 15 sends the video data to the digitalstream compression/decompression logic 18 on the video card 18. Thedigital stream compression/decompression logic 18 decompresses the videodata and, if necessary, sends the video data to the display logic 19 tobe converted to a displayable signal. The displayable signal is thensent through the stream media logic mixer 13 to be displayed on theviewing device 25.

When a request is submitted from the control device 12, the displaylogic 16 creates a graphical display frame in its memory with theappropriate content. The displays frame is sent to the streaming mediamixer logic 13. The streaming media mixer logic 13 preferably containsthe same compression/decompression algorithms as the digital streamcompression/decompression logic 18. Instead of simply forwarding thecompressed display frame to the CPU interface, the streaming media mixerlogic 13 uses its logic to creates and to decompressed display frame.The streaming media mixer logic 13 then overlays a graphical data framefrom the display logic 22 onto the decompresses display frame. Thestreaming media mixer logic 13 compresses the new combined display frameand sends the combine display frame to the viewing device 25.

For full motion video, the streaming media mixer logic 13 preferablyproduces the combined display frames at a rate of thirty frames persecond or greater. If the computer 910 used does not have sufficientprocessing capabilities to allow for processing of full motion video,the same display frame is displayed for some multiple number of timesand the subsequent intermediate frame(s) are ignored at the CPUinterface.

In other cases, the user can watch a direct video program on the viewingdevice 25, wherein the video data is arriving on the video card from avideo input connector 14 or through an antenna input connector 21 from atelevision tuner logic 17. Accordingly, a user request arrives from thecontrol device 12 and the content data is routed through the displaylogic 19 and then to the video output connector 23 to be displayed onthe viewing device 25. In this example, the computer 910 does notprocess the video data.

In a third case, a user submits a request from the control device 12 andthe interface display logic 22 generates the appropriate graphicaldisplay data frame. When graphical display data frame is presented tothe streaming media mixer logic 13, the streaming media mixer logic 13sends a message to the video card 920 through the CPU interface 15. Thevideo card 920 accepts the signal being routed through the display logic19 and instructs the digital stream compression/decompression logic 18to digitize and, optionally, compressed graphical display data framebefore sending the graphical display data frame to the display logic 19through the CPU interface 15 to the streaming media mixer logic 13.

The streaming media mixer logic 13 now has the compressed graphicaldisplay data frame and uses the same process described above to overlaya graphical display frame from the user interface display logic 22 on tothe current display frame and sends the combined display frame throughthe CPU interface 15 to be decompresses by the digital streamcompression/decompression logic 18. The digital streamcompression/decompression logic 18, then sends the uncompressed combineddisplay frame to the display logic 19, which outputs signals to thevideo output connector 23 to be displayed on the viewing device 25.

The present invention has been described in terms of specificembodiments incorporating details to facilitate the understanding of theprinciples of construction and operation of the invention. Suchreference herein to specific embodiments and details thereof is notintended to limit the scope of the claims appended hereto. It will beapparent to those skilled in the art that modifications can be made inthe embodiment chosen for illustration without departing from the spiritand scope of the invention.

1. A method for distributing programming selection to a receiver,wherein the receiver is communicatively coupled to a network, whereinthe receiver is configurable to receive programming transmission from atleast one content provider, said method comprising the steps of:receiving, from a user, user preference data; providing a programmingschedule for the user in accordance with the received user preferencedata, said programming schedule listing a plurality of programmingselections that are available for selection; receiving, from the user, aremote log-in request to access a user account, said log-in request fromthe user being received over the Internet via a separate device;granting the user access to the user account via the Internet;transmitting, to the separate device, display data for displaying theprogramming schedule; receiving, from the separate device, a selectionsignal for selecting a programming selection; and configuring thereceiver to receive the selected programming selection.
 2. The method ofclaim 1, wherein said receiver includes a storage medium, said methodfurther comprising the step of configuring the receiver to record theselected programming transmission.
 3. The method of claim 1, wherein thereceiver is configured to receive the selected programming selection ata designated time, the designated time corresponding to a time when theprogramming selection is made available by a content provider.
 4. Themethod of claim 1, further comprising the steps of: receiving, from theuser, a browse request to browse through a plurality of additionalprogramming selections; and transmitting, to the separate device,display data for displaying a plurality of additional programmingselections for selection.
 5. The method of claim 1, further comprisingthe step of routing the selected programming transmission from a contentprovider to the receiver.
 6. The method of claim 1, further comprisingthe step of routing the selected programming transmission to anotherreceiver.
 7. A method for distributing programming selection to one of aplurality of receivers, wherein the receivers are communicativelycoupled to a network, wherein the receivers are configurable to receiveprogramming transmission from at least one content provider, said methodcomprising the steps of: receiving, from a user, user preference data;providing a programming schedule for the user in accordance with thereceived user preference data, said programming schedule listing aplurality of programming selections that are available for selection;receiving, from the user, a remote log-in request to access a useraccount, said log-in request from the user being received over theInternet via a separate device; granting the user access to the useraccount via the Internet; transmitting, to the separate device, displaydata for displaying the programming schedule; receiving, from theseparate device, a selection signal for selecting a programmingselection; receiving, from the separate device, a designation signal fordesignating one of the plurality of receivers, and configuring thedesignated receiver to receive the selected programming selection. 8.The method of claim 7, wherein said designated receiver includes astorage medium, said method further comprising the step of configuringthe designated receiver to record the selected programming transmission.9. The method of claim 7, wherein the designated receiver is configuredto receive the selected programming selection at a designated time, thedesignated time corresponding to a time when the programming selectionis made available by a content provider.
 10. The method of claim 7,further comprising the steps of: receiving, from the user, a browserequest to browse through a plurality of additional programmingselections; and transmitting, to the separate device, display data fordisplaying a plurality of additional programming selections forselection.
 11. The method of claim 7, further comprising the step ofrouting the selected programming transmission from a content provider tothe designated receiver.
 12. The method of claim 7, further comprisingthe step of routing the selected programming transmission to another oneof the plurality of receivers.
 13. A system for distributing programmingselection to a receiver, said system comprising: a receivercommunicatively coupled to a network, said receiver is configurable toreceive programming transmission from at least one content provider; anda server communicative coupled to the network, said server comprising:means for providing a programming schedule in response to receiving userpreference data from a user, said programming schedule listing aplurality of programming selections that are available for selection,means for receiving, from the user, a remote log-in request to access auser account, said log-in request from the user being received over theInternet via a separate device, means for granting the user access tothe user account via the Internet, means for transmitting, to theseparate device, display data for displaying the programming schedule,means for receiving, from the separate device, a selection signal forselecting a programming selection, and means for configuring thereceiver to receive the selected programming selection.
 14. The systemof claim 13, wherein said receiver includes a storage medium, andwherein said system server further comprises means for configuring thereceiver to record the selected programming transmission.
 15. The systemof claim 13, wherein said means for configuring the receiver configuresthe receiver to receive the selected programming selection at adesignated time, the designated time corresponding to a time when theprogramming selection is made available by a content provider.
 16. Thesystem of claim 13, wherein the server further comprises: means forreceiving, from the user, a browse request to browse through a pluralityof additional programming selections, and means for transmitting, to theseparate device, display data for displaying a plurality of additionalprogramming selections for selection.
 17. The system of claim 13,wherein said server further comprises means for routing the selectedprogramming transmission from a content provider to the receiver. 18.The system of claim 13, further comprising another receiver, whereinsaid server further comprises means for routing the selected programmingtransmission to another receiver.
 19. The system of claim 18, whereinsaid receiver and said other receiver are operatively coupled via aprivate network.
 20. A server for use in a system with a receiver fordistributing programming selection to a receiver, said receivercommunicatively coupled to a network and receiver is configurable toreceive programming transmission from at least one content provider,said server comprising: means for providing a programming schedule inresponse to receiving user preference data from a user, said programmingschedule listing a plurality of programming selections that areavailable for selection; means for receiving, from the user, a remotelog-in request to access a user account, said log-in request from theuser being received over the Internet via a separate device, means forgranting the user access to the user account via the Internet; means fortransmitting, to the separate device, display data for displaying theprogramming schedule; means for receiving, from the separate device, aselection signal for selecting a programming selection; and means forconfiguring the receiver to receive the selected programming selection.21. The server of claim 20, wherein said receiver includes a storagemedium, and wherein said system server further comprises means forconfiguring the receiver to record the selected programmingtransmission.
 22. The server of claim 20, wherein said means forconfiguring the receiver configures the receiver to receive the selectedprogramming selection at a designated time, the designated timecorresponding to a time when the programming selection is made availableby a content provider.
 23. The server of claim 20, further comprising:means for receiving, from the user, a browse request to browse through aplurality of additional programming selections, and means fortransmitting, to the separate device, display data for displaying aplurality of additional programming selections for selection.
 24. Theserver of claim 20, further comprising means for routing the selectedprogramming transmission from a content provider to the receiver. 25.The server of claim 20, further comprising means for routing theselected programming transmission to another receiver.
 26. The server ofclaim 25, wherein said receiver and said other receiver are operativelycoupled via a private network.
 27. A receiver for use in a system forreceiving programming selection, said receiver communicatively coupledto a network and is configurable to receive programming transmissionfrom at least one content provider, said receiver comprising: means forproviding a programming schedule in response to receiving userpreference data from a user, said programming schedule listing aplurality of programming selections that are available for selection;means for receiving, from the user, a remote log-in access request, saidlog-in access request from the user being received over the Internet viaa separate device, means for granting Internet access to the user; meansfor receiving, from the separate device via the Internet, a selectionsignal for selecting a programming selection; and means for receivingthe selected programming selection.
 28. The receiver of claim 27,further comprising a storage medium for recording the receivedprogramming selection.
 29. The receiver of claim 27, wherein saidreceiver is a personal computer.